﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Drawing;

namespace TangoFamilyAndGuide.Site
{
    public partial class MilongaConsulta : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                DataBind();

                if (Funciones.SessionTimeOut(Session))
                {
                    Response.Redirect("~/SessionTimeout.aspx");
                }
                else
                {
                    Entidades.Sesion sesion = (Entidades.Sesion)Session["Sesion"];
                    List<Entidades.Permiso> permisoHabilitado = sesion.Usuario.Permisos.FindAll(delegate(Entidades.Permiso p)
                    {
                        return p.TipoPermiso.Id == "OperMilonga" && p.Estado == "Active";
                    });
                    if (permisoHabilitado.Count == 0)
                    {
                        Response.Redirect("~/Home.aspx");
                    }

                    List<Entidades.Milonga> lista = new List<Entidades.Milonga>();
                    lista = RN.Milonga.LeerListaMilongasPorUsuario(sesion);
                    MilongasGridView.DataSource = lista;
                    ViewState["Milongas"] = lista;
                    MilongasGridView.DataBind();
                    if (lista.Count == 0)
                    {
                        MensajeLabel.Text = "No milongas associated with this user.";
                    }
                }
            }
        }
        protected void MilongasGridView_RowDataBound(object sender, GridViewRowEventArgs e)
        {
            if (e.Row.RowType == DataControlRowType.DataRow)
            {
                LinkButton verLinkButton = (LinkButton)e.Row.FindControl("VerLinkButton");
                verLinkButton.CommandArgument = e.Row.RowIndex.ToString();
                if (e.Row.Cells[7].Text != "Active")
                {
                    e.Row.ForeColor = Color.Red;
                }
            }
        }
        protected void MilongasGridView_RowCommand(object sender, GridViewCommandEventArgs e)
        {
            if (e.CommandName == "Ver" && e.CommandArgument != null)
            {
                int rowIndex = Convert.ToInt32(e.CommandArgument);
                List<Entidades.Milonga> lista = (List<Entidades.Milonga>)ViewState["Milongas"];
                Entidades.Milonga milonga = lista[rowIndex];

                IdMilongaTextBox.Text = milonga.Id.ToString();
                NombreTextBox.Text = milonga.Nombre;
                DescripcionTextBox.Text = milonga.Descripcion;
                Domicilio.Direccion = milonga.Direccion;
                Domicilio.Pais = milonga.Pais;
                Domicilio.Provincia = milonga.Provincia;
                Domicilio.Localidad = milonga.Localidad;
                Domicilio.CodPost = milonga.CodPost;
                Domicilio.Telefono = milonga.Telefono;
                Contacto.Nombre = milonga.Contacto.Nombre;
                Contacto.Email = milonga.Contacto.Email;
                Contacto.Telefono = milonga.Contacto.Telefono;

                IdMilongaTextBox.Enabled = false;
                NombreTextBox.Enabled = false;
                DescripcionTextBox.Enabled = false;
                Domicilio.Enabled = false;
                Contacto.Enabled = false;
                WebSiteTextBox.Enabled = false;
                EmailTextBox.Enabled = false;

                AjaxControlToolkit.ModalPopupExtender modalPopupExtender1 = (AjaxControlToolkit.ModalPopupExtender)MilongasGridView.Rows[rowIndex].FindControl("ModalPopupExtender1");
                modalPopupExtender1.Show();
            }
            else if (e.CommandName == "VerDetalle" && e.CommandArgument != null)
            {
                int rowIndex = Convert.ToInt32(e.CommandArgument);
                List<Entidades.Milonga> lista = (List<Entidades.Milonga>)ViewState["Milongas"];
                Entidades.Milonga milonga = lista[rowIndex];
                Session["Milonga"] = milonga;
                Response.Redirect("~/MilongaGuideConsultaDetallada.aspx?Id");
            }
        }
    }
}